package diy;
//测试String
public class T7_String {
    public static void main(String[] args) {
        String s1 = "ab";
        String s2 = "a"+"b";
        String s3 = new String("ab");
//        new StringBuilder(s4).append("b").toString();
        String s4 = "a";
        String s5 = "b";
        String s6 = s4+s5;
        s4+="b";
        System.out.println(s1==s2);//true
        System.out.println(s2==s3);//false
        System.out.println(s1==s4);//false
        System.out.println(s1==s6);//false
        System.out.println(s2==s6);//false
        System.out.println(s6);//ab

        /*
         * //假设已经存入了100个元素
         *利用String做拼接
         * String str[]=new String[100];
         * String s1="";//1
         * for(String s:str){
         * 	s1+=s;//每拼接一次 会额外创建几个对象? 3个对象 实际操作new StringBuilder(s1).append(s).toString();
         *
         * }
         *利用String字符串做拼接 会额外产生3个对象  循环遍历100次会产生300 加上变量定义1个对象 一共产生301个对象
         *
         *
         *利用StringBuilder追加的方式
         *StringBuilder s2=new StringBuilder();//1
         *for(String s1:str){
         *  s2.append(s1);//额外会产生几个对象? 1个
         *}
         *String a=s2.toString();//1
         *利用StringBuilder追加的方式额外产生1个对象 一共循环100次 产生100 加上变量定义和打印输出2个对象
         *一共产生102个
         *
         *
         *
         *
         */
		long start=System.currentTimeMillis();
		String s="";
		for(int i=0;i<100000;i++){
			s+=i;
		}
		long end=System.currentTimeMillis();
		System.out.println(end-start);

		long start0=System.currentTimeMillis();
		StringBuilder s0=new StringBuilder();
		for(int i=0;i<100000;i++){
			s0.append(i);
		}
		long end0=System.currentTimeMillis();
		System.out.println(end0-start0);

    }
}
